﻿#define Expection
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Xml;
using UmcProvider.Controls;
using UmcProvider;
using System.Design;
using System.Reflection;

namespace ChinaTelecom.SmartPhone.Controls
{
#if Expection   //if reserve mode
    //Add the properties expected to be reserved
    public interface IRescoImageButtonExpection : IUmc
    {
        string Name { get; }
        bool Enabled { get; }
        bool Visible { get; }
        Size Size { get; }
        Point Location { get; }
        Color BackColor { get; }
        Color ForeColor { get; }
        Image ImageDefault { get; }
        Image ImagePressed { get; }
    }
    public interface IRescoImageButton : IRescoImageButtonExtension, IRescoImageButtonExpection { }
    [Designer(typeof(UmcDesigner<IRescoImageButton>))]
#else                 //if exclude mode
    //Add the Properties to be excluded here
    [ExcludeProperty]
    public interface IRescoImageButtonExculde :  IUmc
    {
        bool Enabled { get; }
        Size Size { get; }
        Color BackColor { get; }
        Font Font { get; }
        Color ForeColor { get; }
    }
    public interface IRescoImageButton : IRescoImageButtonExtension, IRescoImageButtonExculde { }
    [Designer(typeof(UmcDesigner<RescoImageButton>))]
#endif
    [ToolboxBitmap(typeof(Resco.Controls.OutlookControls.ImageButton), "ImageButton.bmp")]
    public sealed class RescoImageButton : Resco.Controls.OutlookControls.ImageButton, IRescoImageButton
    {
    }

    //Add Extension Properties here , and Implement in Inheritance class
    public interface IRescoImageButtonExtension
    {

    }

    public sealed class UmcRescoImageButton : DefaultConverter<UmcRescoImageButton, RescoImageButton>, IRescoImageButton
    {
        #region Hidden
        public string Name
        {
            get { throw new NotImplementedException(); }
        }

        public bool Enabled
        {
            get { throw new NotImplementedException(); }
        }

        public bool Visible
        {
            get { throw new NotImplementedException(); }
        }

        public Size Size
        {
            get { throw new NotImplementedException(); }
        }

        public Point Location
        {
            get { throw new NotImplementedException(); }
        }

        public Color BackColor
        {
            get { throw new NotImplementedException(); }
        }

        public Color ForeColor
        {
            get { throw new NotImplementedException(); }
        }

        public Image ImageDefault
        {
            get { throw new NotImplementedException(); }
        }

        public Image ImagePressed
        {
            get { throw new NotImplementedException(); }
        }
        #endregion
    }
}